#include "my_motor.h"


#define  MOTOR_PORT      (GPIOD)
#define  MOTOR_PIN       (GPIO_PIN_15)



/*******
 * 马达高低电平即可驱动
 * ***/

// 10ms 调用一次， 长震 400ms， 短震200ms
void motor_on(void)
{
    set_pin_high(MOTOR_PORT, MOTOR_PIN);
}
void motor_off(void)
{
    if(0 == sys_data.motor_on_flag){
        return;
    }
    sys_data.motor_on_cnt = 0;
    sys_data.motor_on_flag = 0;
    set_pin_low(MOTOR_PORT, MOTOR_PIN);
}

void motor_shor_on(void)
{
    sys_data.motor_on_flag = 1;
    sys_data.motor_on_cnt = 20;
	set_pin_high(MOTOR_PORT, MOTOR_PIN);
}

void motor_long_on(void)
{
    sys_data.motor_on_flag = 1;
    sys_data.motor_on_cnt = 40;
	set_pin_high(MOTOR_PORT, MOTOR_PIN);
}

void motor_state_ctrl(void)
{
    if(sys_data.motor_on_flag){
        if(sys_data.motor_on_cnt){
            sys_data.motor_on_cnt --;
        }
        else{
            motor_off();
        }
    }

}


void my_motor_init(void)
{
    gpio_output_cfg(MOTOR_PORT, MOTOR_PIN);
	set_pin_low(MOTOR_PORT, MOTOR_PIN);
}